1. Technical Field
This invention generally relates to semiconductor devices, and more specifically relates to power conservation in semiconductor devices.
2. Background Art
The proliferation of electronics in our modern world is in large part due to integrated circuit semiconductor devices. Integrated semiconductor devices are designed and used in almost every electronic device today. In many applications power consumption is a critical issue for several reasons. For example, in portable devices such as wireless telephones, battery life and battery size is a primary design concern. Consumers want the portable electronic device to run as long as possible using a single battery charge and also want the device, including the battery to be as small and portable as possible. Thus, it is strongly desirable to be able to decrease power consumption of the device such that battery life can be extended and/or the size of the battery decreased.
In other applications power consumption is critical because it is directly related to the amount of heat generated by a device. A semiconductor device that consumes more power will generate more heat. In applications where heat sensitivity is a critical factor, reducing the power consumption reduces the heat generated by the device.
One factor that leads to excessive power consumption is unnecessary node toggling. In almost any digital network during a typical clock cycle, certain internal nodes will toggle unnecessarily. These nodes are typically responding to some logical input, but their logical output is unused and unneeded. The toggling of nodes uses power, but produces no useful work.
For example, normal design techniques use common data sources, such as a single set of input lines, for the data and control bits used during different combinatorial calculations. Not all calculations are required for each cycle of operation. As a particular example, in a processor that has both an adder and multiplier, the adder may be required during a certain cycle but not the multiplier. If a single data register is used as a data source for both the adder and the multiplier, both the adder and multiplier circuits will toggle even though only one is needed. This unnecessary toggling of nodes again uses power, but produces no useful work.
Therefore, there existed a need to provide reduced power consumption by reducing unnecessary node toggling in semiconductor devices.